*any-jump.vim* - Vim plugin for "jump to defitinition" and "find usages" feature through nice popup ui.


                              /~~||/~\\  /---   ||   ||/~\ /~\ |~~\
                              \__||   |\/       | \_/||   |   ||__/
                                      _/     \__|              |

                          - IDE madness without overhead for 40+ languages

Based on syntax rules for 40 languages and **fast regexp engines** like ripgrep and ag.
Required `rg` or `ag` to be installed. GNU grep support dropped for flavor of blazing perfomance.

*Searches*

- [*] keyword definitions - find files where keyword defined
- [*] keyword usages - find files where keyword used
- [ ] ctags

====================================================================
CONTENTS                                           *any-jump-contents*

    1. Usage ................ |any-jump-usage|
    2. Keybindings ............. |any-jump-mappings|
    3. Options .............. |any-jump-options|

====================================================================
Section 1: Usage                                      *any-jump-usage*

Just place you cursor on any variable/class/constant/name/symbol and press `<leader>j` or execute `:AnyJump` in normal mode.
You can also use visual mode to select proper keyword (<leader>j also works in visual mode)


====================================================================
Section 2: Mappings                                *any-jump-mappings*

Default global mappings for normal mode:

```viml
" Jump to definition under cursore
nnoremap <leader>j :AnyJump<CR>

" Visual mode: jump to selected text in visual mode
xnoremap <leader>j :AnyJumpVisual<CR>

" open previous opened file (after jump)
nnoremap <leader>ab :AnyJumpBack<CR>

" open last closed search window again
nnoremap <leader>al :AnyJumpLastResults<CR>
```

Disabling default any-jump keybindings:

```viml
let g:any_jump_disable_default_keybindings = 1
```

Mappings for popup search window

o/<CR>     open link
s          open in split
v          open in vsplit
t          open in new tab
p/<tab>    preview
q/x        exit
r          references
b          back to first result
T          group by file
a          load next N results
A          load all results
L          toggle results lists ui style

====================================================================
Section 2: Options & settings                       *any-jump-options*

" Show line numbers in search rusults
let g:any_jump_list_numbers = 0

" Auto search references
let g:any_jump_references_enabled = 1

" Auto group results by filename
let g:any_jump_grouping_enabled = 0

" Amount of preview lines for each search result
let g:any_jump_preview_lines_count = 5

" Max search results, other results can be opened via [a]
let g:any_jump_max_search_results = 7

" Prefered search engine: rg or ag
let g:any_jump_search_prefered_engine = 'rg'

" Default search results list styles:
" - 'filename_first'
" - 'filename_last'
let g:any_jump_results_ui_style = 'filename_first'

" Any-jump window size & position options
let g:any_jump_window_width_ratio  = 0.6
let g:any_jump_window_height_ratio = 0.6
let g:any_jump_window_top_offset   = 4

" Customize any-jump colors with extending default color scheme:
let g:any_jump_colors = { "help": "Function" }

" Or override all default colors
let g:any_jump_colors = {
      \"plain_text":         "Comment",
      \"preview":            "Comment",
      \"preview_keyword":    "Operator",
      \"heading_text":       "Function",
      \"heading_keyword":    "Identifier",
      \"group_text":         "Comment",
      \"group_name":         "Function",
      \"more_button":        "Operator",
      \"more_explain":       "Comment",
      \"result_line_number": "Comment",
      \"result_text":        "Statement",
      \"result_path":        "String",
      \"help":               "Comment"
      \}

" Disable default any-jump keybindings (default: 0)
let g:any_jump_disable_default_keybindings = 1

" Remove comments line from search results (default: 1)
let g:any_jump_remove_comments_from_results = 1

" Custom ignore files
" default is: ['*.tmp', '*.temp']
let g:any_jump_ignored_files = ['*.tmp', '*.temp']

" Search references only for current file type
" (default: false, so will find keyword in all filetypes)
let g:any_jump_references_only_for_current_filetype = 0

" Disable search engine ignore vcs untracked files (default: false, search engine will ignore vcs untracked files)
let g:any_jump_disable_vcs_ignore = 0
